Recruiters and non-technical project managers may not know this but you will find plenty of web developers who are not good at Javascript, HTML or CSS. In a way definition of being a web developer is to know these technologies. There are many developers who know C#, Java, ASP.Net, PHP, VB.Net or back-end database, but they will be very less comfortable with HTML, CSS and JavaScript.
The reasons behind this are:
- HTML and CSS are not programming languages
- JavaScript was not considered a serious programming language even though it is heavily used in industry.
- Programming courses in Universities teach Java or C# (or C++) but not JavaScript
- Developers did not think knowing any of these three technologies is considered highly-intellectual work
- All browsers implement these three technologies differently and there is gap among IE, Firefox, Chrome or Safari (and now Android browser)
- JavaScript does (did) not provide compilation, error checks, rich set of standard libraries or standard reusable components from companies like Microsoft
- Companies like Microsoft, Sun/Java or Apple (it was not in picture earlier anyway) did not invest in JavaScript earlier to come up with some standards for design patterns and architecture patterns
This post may be kind of late in the game as in 2011, lot of libraries are available in JavaScript. The Web 2.0 and Ajax was like a resurrection time for JavaScript. JavaScript has been out there since late 1990 - since the early days of browsers. Microsoft was not much into internet programming then. And to rival JavaScript they came out with VB Script. But no-one thought of JavaScript more than handling some browser side validation of dates and empty fields.
But then came AJAX – around 2003-04. And JavaScript started becoming more and more popular since then. Some events took place after 2007 that contributed to popularity of JavaScript.
- Arrival of Ajax based web 2.0 technology
- Steve Job’s decision to not support Flash on iPhone and iPad
- HTML 5
- Popularity of jQuery and jQuery based libraries
Microsoft came up with Silverlight to undermine the use of JavaScript and Flash and providing MS developers their familiar development environment for browser side programming. While this was a good move, the non-MS factors played a huge role in popularity of JavaScript based libraries and finally Silverlight lost. It could not become the standard development tool for non-MS programmers. And JavaScript is here to stay.
In the decade of 2001-2011, many programmers became senior developers, architects or other roles, who grew up in the environment where JavaScript was used for very primitive purpose. And if they test a script on one browser it was not guaranteed that it will work on the other browser so it never became favorite tool to use. Hats off to recent development in these technologies and to those programmers who have made some amazing applications using browser technologies only.
At this time, if you want to find a good web developer make sure they at least know JavaScript. People who know HTML+CSS are more of a designer and they are very creative and of artistic outlook. A developer may not be as artistic. So, if you want to get an aesthetic look for your UI, do not expect that from hard-core developer who is good at C# or Java or such server side programming languages. You want to hire a UI/UX designer or UI expert who can tweak the CSS and HTML however they want.
Now, if you are a .net or java developer, you better learn JavaScript now. It has got very elegant syntax for declaring class and objects. And you should use the 3rd party controls like Telerik or ExtJS that handles most of the themes, skins and commonly needed JavaScript for you so you don’t have to work with CSS and HTML too much. If you know programming but not JavaScript, you are like a football player who can do touch-down but can’t catch the ball.